#include <iostream>
#include <map>
#include <set>
struct Student
{
    /* data */
    int id;
    std::string name;
};

int main()
{
    std::pair<int, Student> s = std::make_pair<int, Student>(1, {1, "zhangsan"});
    std::pair<int, Student> s1 = std::make_pair<int, Student>(2, {2, "lisi"});
    std::pair<int, Student> s2 = std::make_pair<int, Student>(3, {3, "wnagwu"});
    std::map<int, Student> p;
    // p.insert(s2);
    // p.insert(s);
    // p.insert(s1);
    p[1] = {3, "zhangsan"};
    p[2] = {3, "lisi"};
    p[3] = {3, "wangwu"};
    p[3] = {66, "asdasd"};

    auto it = p.find(2);
    std::cout << it->second.name << std::endl;
    for (auto ite = p.begin(); ite != p.end(); ite++)
    {
        std::cout << ite->first << " " << ite->second.id << " " << ite->second.name << std::endl;
    }
    return 0;
}